package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc ImplementGenerateWorkTaskDoneMsgComReqDto
 * @使用场景
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ImplementGenerateWorkTaskDoneMsgComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 工作任务对象类型 PROJECT:项目 TASK:任务 PROBLEM:问题
   */
  @NotNull(message = "工作任务对象类型不能为空")
  @ApiModelProperty("工作任务对象类型")
  private String workTaskObjectType;

  /**
   * 工作任务对象ID
   */
  @NotNull(message = "工作任务对象ID不能为空")
  @ApiModelProperty("工作任务对象ID")
  private String workTaskObjectId;

  /**
   * 安排主体类型编码 OMS_ORG_ORGANIZATION:组织表 OMS_ORG_DEPT:部门表
   */
  @NotNull(message = "安排主体类型编码不能为空")
  @ApiModelProperty("安排主体类型编码")
  private String arrangeSubjectTypeCode;

  /**
   * 安排主体ID
   */
  @NotNull(message = "安排主体ID不能为空")
  @ApiModelProperty("安排主体ID")
  private String arrangeSubjectId;

  /**
   * 接收部门ID
   */
  @NotNull(message = "接收部门ID不能为空")
  @ApiModelProperty("接收部门ID")
  private String receiveSubjectId;

  /**
   * 进度值（数值）
   */
  @NotNull(message = "进度值（数值）不能为空")
  @ApiModelProperty("进度值（数值）")
  private Double progressValue;

  /**
   * 是否逾期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否逾期")
  private String isOverdue;

  /**
   * 计划结束时间
   */
  @ApiModelProperty("计划结束时间")
  private Date planEndTime;

}
